package com.zingrow.web.push.bind.service;


import java.util.List;

import com.zingrow.web.push.bind.model.Bind;
import com.zingrow.web.push.bind.response.BindResponse;

public interface IBindService {
    
    /**
	 * 同名验证
	 * 
	 * @param baidu_channel_id
	 * @return
	 */
    boolean selectSameBybaidu_channel_id(String baidu_channel_id,String user_account);

    /**
	 * 新增绑定
	 * 
	 * @param bind
	 * @return
	 */
    boolean insert(Bind bind);
    
    /**
	 * 修改绑定
	 * 
	 * @param bind
	 * @return
	 */
    boolean modify(Bind bind);
    
    /**
	 * 修改空值绑定
	 * 
	 * @param bind
	 * @return
	 */
    boolean modifyByAccount(Bind bind);
    
    /**
	 * 推送方案所属用户绑定信息查询
	 * 
	 * @param ifm_id
	 * @return
	 */
    List<Bind> selectAppByifmId(Integer ifm_id);
    
    /**
	 * 修改IOS推送后或用户阅读后的badge信息
	 * 
	 * @param bind
	 * @return
	 */
    boolean modifyBadge(Bind bind);
    
    /**
	 * IOS 绑定用户错误信息查询（IOS登录绑定时有baidu_channel_id为空现象）
	 * 
	 * @param baidu_channel_id
	 * @param user_account
	 * @return
	 */
    Bind selectIOSByuserAccount(String baidu_channel_id,String user_account);
    
    /**
	 * 退出账号删除绑定信息
	 * 
	 * @param baidu_channel_id
	 * @param user_account
	 * @return
	 */
    boolean deleteBindByAccountAndChannelId(String baidu_channel_id,String user_account);
    
    /**
	 * 查询用户APP版本
	 * 
	 * @param user_account
	 * @return
	 */
    Integer selectAppVerSionNumberByUserName(String user_account);
    
    /**
	 * 通过用户名查询绑定信息
	 * 
	 * @param accountList
	 * @return
	 */
    Bind selectAppByUserName(String user_account);
    
    boolean deleteBindByChannelId(String baidu_channel_id);

	/**
	 * 方案推送对应用户信息查询
	 * 
	 * @param ifm_id
	 * @return
	 */
	List<BindResponse> selectAppUser(Integer ifm_id);

}
